"="(s(a, X), t(X, b)). p(t(Z, b)). ?- p(s(Y, e)). ?- p(t(e, b)). ====================================================== a(g(A)). "="(f(A), g(A)). equal(A, A). ?- a(f(a)), equal(A, B). "="(stern(stern(X, Y), Z), stern(X, stern(Y, Z))). "="(stern(X, Y), stern(Y, X)). p(stern(b, stern(a, b)), a). q(stern(X, Y)) :- p(X, Y). ?- q(stern(stern(a, b), stern(b, a))). ======================================================= p(a). p(g). "="(b, a) :- p(e). "="(e, f). "="(g, f). ?- p(b). ======================================================= p(a). p(g). "="(b, a) :- p(r). "="(e, f). "="(g, f). ?- p(b). ======================================================= p(a, a, b, b). "="(b, a). ?- p(a, b, a, b). ======================================================== p(a, a, b, b). "="(b, a) :- p(a, a, a, a). ?- p(a, b, a, b). ========================================================= p(a, a, b, b). "="(b, a) :- p(a, a, b, b). ?- p(a, b, a, b). ====================================================== "="(a, b). p(f(b, a, b, a)). ?- p(f(a, b, a, b)). ======================================================